package com.hanhai.material.wxauth.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 *  控制层。
 *
 * @author youchuang
 * @since 2024/03/12 08:01:52
 */
@RestController
@RequestMapping("/role")
public class SysRoleController {

//    @Autowired
//    SysRoleService sysRoleService;
//    @Autowired
//    SysUserService sysUserService;
//
//    @Autowired
//    SysMenuService sysMenuService;
//    @Autowired
//    SysRoleMenuService sysRoleMenuService;
//    @GetMapping("/list/{page}/{limit}")
//    public Result<?> getRoleListByPage(@PathVariable Long page, @PathVariable Long limit) {
//        Page<SysRole> p = new Page<>(page, limit);
//        QueryWrapper queryWrapper=QueryWrapper.create();
//        queryWrapper.orderBy()
//        Page<SysRole> sysRolePage = this.sysRoleService.getBaseMapper().selectPage(p, sysRoleQueryWrapper);
//        if (sysRolePage.getRecords().isEmpty()) {
//            return ResultTool.fail("暂无数据");
//        } else {
//            for (SysRole sysRole : sysRolePage.getRecords()) {
//
//                SysUser createUser = this.sysUserService.getById(sysRole.getCreateUserId());
//                if (createUser != null) {
//                    createUser.setPassword(null);
//                }
//                sysRole.setCreateUser(createUser);
//
//                SysUser updateUser = this.sysUserService.getById(sysRole.getUpdateUserId());
//                if (updateUser != null) {
//                    updateUser.setPassword(null);
//
//                }
//                sysRole.setUpdateUser(updateUser);
//                List<SysMenu> menuList=new ArrayList<>();
//                List<SysRoleMenu> sysRoleMenuList = this.sysRoleMenuService.list(new QueryWrapper<SysRoleMenu>().eq("role_id", sysRole.getId()));
//                if(sysRoleMenuList.isEmpty()){
//                    menuList=null;
//                }else{
//                    for(SysRoleMenu sysRoleMenu:sysRoleMenuList){
//                        SysMenu sysMenu=this.sysMenuService.getById(sysRoleMenu.getMenuId());
//                        menuList.add(sysMenu);
//                    }
//                }
//                sysRole.setMenuList(menuList);
//            }
//            return ResultTool.success(sysRolePage);
//        }
//    }
//
//    @PostMapping("/list")
//    public Result<?> getRoleList(){
//        List<SysRole> sysRoleList=this.sysRoleService.list();
//        return sysRoleList.isEmpty()?ResultTool.fail():ResultTool.success(sysRoleList);
//    }
//    @PostMapping("/add")
//    public Result<?> addRole(@RequestBody SysRole sysRole){
//        sysRole.setId(UUID.randomUUID().toString());
//        sysRole.setCreateTime(new Date());
//        boolean result=this.sysRoleService.save(sysRole);
//        if(result){
//            List<SysMenu> sysMenuList=sysRole.getMenuList();
//            if(sysMenuList.isEmpty()){
//                return ResultTool.success();
//            }
//            List<SysRoleMenu> sysRoleMenuList=new ArrayList<>();
//            for(SysMenu menu:sysMenuList){
//                SysRoleMenu sysRoleMenu=new SysRoleMenu();
//                sysRoleMenu.setId(sysRole.getId()+menu.getId());
//                sysRoleMenu.setRoleId(sysRole.getId());
//                sysRoleMenu.setMenuId(menu.getId());
//                sysRoleMenu.setCreateUserId(sysRole.getCreateUserId());
//                sysRoleMenu.setCreateTime(new Date());
//                sysRoleMenu.setDelete(false);
//                sysRoleMenuList.add(sysRoleMenu);
//            }
//            result=this.sysRoleMenuService.saveOrUpdateBatch(sysRoleMenuList);
//
//        }
//        return result?ResultTool.success():ResultTool.fail();
//    }
//
//    @PostMapping("/update")
//    public Result<?> updateRole(@RequestBody SysRole sysRole){
//        sysRole.setUpdateTime(new Date());
//        boolean result=this.sysRoleService.updateById(sysRole);
//        if(result){
//            List<SysMenu> sysMenuList=sysRole.getMenuList();
//            if(sysMenuList.isEmpty()){
//                QueryWrapper<SysRoleMenu> sysRoleMenuQueryWrapper=new QueryWrapper<>();
//                sysRoleMenuQueryWrapper.eq("role_id",sysRole.getId());
//                result=this.sysRoleMenuService.remove(sysRoleMenuQueryWrapper);
//                return result?ResultTool.success():ResultTool.fail();
//            }
//            QueryWrapper<SysRoleMenu> sysRoleMenuQueryWrapper=new QueryWrapper<>();
//            sysRoleMenuQueryWrapper.eq("role_id",sysRole.getId());
//            result=this.sysRoleMenuService.remove(sysRoleMenuQueryWrapper);
////            if(!result){
////                return ResultTool.fail();
////            }
//            List<SysRoleMenu> sysRoleMenuList=new ArrayList<>();
//            for(SysMenu menu:sysMenuList){
//                SysRoleMenu sysRoleMenu=new SysRoleMenu();
//                sysRoleMenu.setId(sysRole.getId()+menu.getId());
//                sysRoleMenu.setRoleId(sysRole.getId());
//                sysRoleMenu.setMenuId(menu.getId());
//                sysRoleMenu.setUpdateUserId(sysRole.getCreateUserId());
//                sysRoleMenu.setUpdateTime(new Date());
//                sysRoleMenuList.add(sysRoleMenu);
//            }
//            result=this.sysRoleMenuService.saveOrUpdateBatch(sysRoleMenuList);
//        }
//        return result?ResultTool.success():ResultTool.fail();
//    }


}
